package cn.sangyy.auth.mapper;

import cn.sangyy.auth.domain.Role;
import cn.sangyy.auth.query.RoleQuery;

import java.io.Serializable;
import java.util.List;

/**
 * @author SangYY
 * @date: 2023/05/17/15:55
 */
public interface RoleMapper {
    /**
     * @author Sangyy
     * 新增角色
     */
    int insert(Role role);
    /**
     * @author Sangyy
     * 删除角色
     */
    int deleteById(Serializable id);
    /**
     * @author Sangyy
     * 修改角色信息
     */
    int update(Role role);
    /**
     * @author Sangyy
     * 通过id查角色
     */
    Role getRoleById(Serializable id);
    /**
     * @author Sangyy
     * 通过name查角色
     */
    int getRoleByName(String name);

    /**
     * @author Sangyy
     * 查所有角色
     */
    List<Role> getAllRole();

    /**
    * @author Sangyy
    * 查找总记录数
    */
    Long getTotals(RoleQuery roleQuery);
    /**
     * @author Sangyy
     * 查找当前页数据
     */
    List<Role> getRows(RoleQuery roleQuery);

    /**
     * @author Sangyy
     * 批量删除
     */
    void batchDelete(List<Long> ids);
}
